Package de.yaams.extensions.diamant.maps

Source Code of de.yaams.extensions.diamant.maps.MapsObjManager

/**
*
*/
package de.yaams.extensions.diamant.maps;

import java.util.ArrayList;

import javax.swing.JComboBox;

import de.yaams.maker.helper.gui.AE;
import de.yaams.maker.helper.gui.YFactory;
import de.yaams.maker.helper.gui.form.FormComboBox;
import de.yaams.maker.helper.gui.form.FormElement;
import de.yaams.maker.helper.gui.form.FormElementChangeListener;
import de.yaams.maker.helper.gui.form.FormInfo;
import de.yaams.maker.helper.gui.form.FormTextArea;
import de.yaams.maker.helper.gui.form.FormTextField;
import de.yaams.maker.helper.gui.form.core.FormBuilder;
import de.yaams.maker.helper.gui.list.BasisListElement;
import de.yaams.maker.helper.language.I18N;
import de.yaams.maker.programm.YaFrame;
import de.yaams.maker.programm.project.objects.simple.SimpleObjectManagement;
import de.yaams.maker.programm.tabs.TabEvent;

/**
* @author abby
*
*/
public class MapsObjManager extends SimpleObjectManagement {

  protected String type;

  /**
   * @param title
   * @param desc
   * @param icon
   */
  public MapsObjManager(String title, String type) {
    super(title, I18N.t("Verwaltet alle {0}", title), "map", type + ".xml", type);
    this.type = type;
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * de.yaams.maker.programm.project.objects.BasicObjectManager#getGroup()
   */
  @Override
  public String getGroup() {
    return I18N.t("Karte");
  }

  @Override
  public BasisListElement createNewObject() {
    return new CMapInfo();
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * de.yaams.maker.programm.project.objects.BasicObjectTab#buildInternContent
   * (de.yaams.maker.helper.gui.list.BasisListElement)
   */
  @Override
  public void buildInternContent(BasisListElement selectedObject, FormBuilder f) {
    // right typ?
    if (!(selectedObject instanceof CMapInfo)) {
      throw new IllegalArgumentException(selectedObject + " is not a Map");
    }
    final CMapInfo q = (CMapInfo) selectedObject;

    // add basic
    f.addElement("basic.name", new FormTextField(I18N.t("Name"), q.getTitle()).addChangeListener(new FormElementChangeListener() {

      @Override
      public void stateChanged(FormElement form) {
        q.setTitle(form.getContentAsString());

      }
    }));

    // add basic
    f.addElement("basic.desc", new FormTextArea(I18N.t("Hilfetext"), q.getDesc()).addChangeListener(new FormElementChangeListener() {

      @Override
      public void stateChanged(FormElement form) {
        q.setDesc(form.getContentAsString());

      }
    }).setSorting(1));

    // add tileset
    ArrayList<BasisListElement> ble = project.getObjects().get("tileset").getObjects();
    int size = ble.size();
    String[] ary = new String[size];
    // convert
    for (int i = 0; i < size; i++) {
      ary[i] = ble.get(i).toString();
    }

    f.addElement("basic.tileset", size > 0 ? new FormComboBox(I18N.t("Tileset"), ary).selectField(ble.get(q.getTileset()).getTitle())
        .addChangeListener(new FormElementChangeListener() {

          @Override
          public void stateChanged(FormElement form) {
            JComboBox j = (JComboBox) form.getElement();
            q.setTileset(j.getSelectedIndex());

          }
        }) : new FormInfo(I18N.t("Tileset"), I18N.t("Erstelle zuerst Tilesets")));

    // add button
    if (size > 0) {
      f.addButton("map", YFactory.b(I18N.t("Karte editieren"), "map_edit", new AE() {

        @Override
        public void run() {
          YaFrame.open(TabEvent.buildParameter(CMapEditorTab.ID, project, null, "typ", type, "map",
              Integer.toString(objects.indexOf(q))));

        }
      }, 32));
    }
  }

}
TOP

Related Classes of de.yaams.extensions.diamant.maps.MapsObjManager

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.